<!doctype html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
	<head>
		<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
		<meta http-equiv="content-script-type" content="text/javascript">
		<meta http-equiv="content-style-type" content="text/css">
		<meta name="author" content="Heidi Rakels">
		<meta name="description" content="Java Docking - Release Notes">
		<link rel="stylesheet" type="text/css" href="../style.css">
		<title>Java Docking Release Notes</title>
	</head>
<body>

<table border="0" width="600" cellspacing="0" cellpadding="0">
<tr>
<td>

<h2>
Release Notes
</h2>

	<table cellspacing="0" border="1">
		<tr>
			<td width="200"><center><b>Enhancements</b></center></td>
			<td width="200"><center><b>Incompatibilities</b></center></td>
			<td width="200"><center><b>Bug Fixes</b></center></td>
		</tr>
		<tr>
            <td>
                <ul>
                    <li><a href="#enhancements1_5">1.5</a></li>
                </ul>
            </td>
            <td>
                <ul>
                    <li><a href="#incompatibilities1_5">1.5</a></li>
                </ul>
            </td>
            <td>
                <ul>
                    <li><a href="#bugfixes1_5">1.5</a></li>
                </ul>
            </td>
        </tr>
		<tr>
			<td>
				<ul>
					<li><a href="#enhancements1_4">1.4</a></li>
				</ul>
			</td>
			<td>
				<ul>
					<li><a href="#incompatibilities1_4">1.4</a></li>
				</ul>
			</td>
			<td>
				<ul>
					<li><a href="#bugfixes1_4">1.4</a></li>
				</ul>
			</td>
		</tr>
		<tr>
			<td>
				<ul>
					<li><a href="#enhancements1_3">1.3</a></li>
				</ul>
			</td>
			<td>
				<ul>
					<li><a href="#incompatibilities1_3">1.3</a></li>
				</ul>
			</td>
			<td>
				<ul>
					<li><a href="#bugfixes1_3">1.3</a></li>
				</ul>
			</td>
		</tr>
		<tr>
			<td>
				<ul>
					<li><a href="#enhancements1_2">1.2</a></li>
				</ul>
			</td>
			<td>
				<ul>
					<li><a href="#incompatibilities1_2">1.2</a></li>
				</ul>
			</td>
			<td>
				<ul>
					<li><a href="#bugfixes1_2">1.2</a></li>
				</ul>
			</td>
		</tr>
		<tr>
			<td>
				<ul>
					<li><a href="#enhancements1_1">1.1</a></li>
				</ul>
			</td>
			<td>
				<ul>
					<li><a href="#incompatibilities1_1">1.1</a></li>
				</ul>
			</td>
			<td>
				<ul>
					<li><a href="#bugfixes1_1">1.1</a></li>
				</ul>
			</td>
		</tr>
		<tr>
			<td>
				<ul>
					<li><a href="#enhancements1_0">1.0</a></li>
				</ul>
			</td>
			<td>
				&nbsp;
			</td>
			<td>
				&nbsp;
			</td>
		</tr>
	</table>

<h3>
:: Enhancements :: 
</h3>
<table cellspacing="0" border="1">
<tr>
	<td width="60"><center><b>Version</b></center></td>
	<td width="60"><center><b>ID</b></center></td>
	<td width="480"><center><b>Description</b></center></td>
</tr>
<tr>
    <td valign="top">
        <center><a name="enhancements1_5">v1.5</a><center>
    </td>
    <td>
        &nbsp;
    </td>
    <td>
        An application with completely separated dockable workspaces (toolbars, float docks, visualizers) can now easily be created.
        You can find a lot of examples in the package com.javadocking.multi of the samples folder.
    </td>
</tr>
<tr>
    <td valign="top">
    &nbsp;
    </td>
    <td>
        &nbsp;
    </td>
    <td>The methods <code>saveProperties()</code> of
        <a href="../javadoc/com/javadocking/model/codec/DockModelPropertiesEncoder.html" target="_blank">DockModelPropertiesEncoder</a> and 
        <code>decodeProperties()</code> of
        <a href="../javadoc/com/javadocking/model/codec/DockModelPropertiesDecoder.html" target="_blank">DockModelPropertiesDecoder</a>
        are protected. They can be overriden to save and reload your own properties. 
    </td>
</tr>
<tr>
	<td valign="top">
		<center><a name="enhancements1_4">v1.4</a><center>
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		<a href="../javadoc/com/javadocking/dock/CompositeTabDock.html" target="_blank">CompositeTabDock</a>s 
		are added. With this kind of dock, dockables can be organized in nested tabs
		(see <a href="../developerguide/compositedock.html#CompositeTabDock">How to Use Composite Docks</a>).
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1958541
	</td>
	<td>
		The library can be used in applets.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1921153
	</td>
	<td>
		Dock and dockable headers listen to property changes (icon, title, and description) of dockables.
	</td>
</tr>
<tr>
	<td valign="top">
		<center><a name="enhancements1_3">v1.3</a><center>
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		A new header for minimized dockables 
		<a href="../javadoc/com/javadocking/component/ImageMinimzeHeader.html" target="_blank">ImageMinimzeHeader</a> 
		is added. A small image of the dockable is shown in the header.
		(see <a href="../developerguide/visualizer.html">How to Use Visualizers (Minimizers, Maximizers, and Externalizers)</a>).
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		A factory to create popup menus for one dockable or for all the dockables of a dock is added:
		<a href="../javadoc/com/javadocking/dockable/action/PopupMenuFactory.html" target="_blank">PopupMenuFactory</a>.
		The default implementation is <a href="../javadoc/com/javadocking/dockable/action/DefaultPopupMenuFactory.html" target="_blank">DefaultPopupMenuFactory</a>.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1821214
	</td>
	<td>
		<a href="../javadoc/com/javadocking/util/LookAndFeelUtil.html" target="_blank">LookAndFeelUtil</a>
		can be used to remove the borders of the split panes that are used by the docking library.
	</td>
</tr>
<tr>
	<td valign="top">
		<center><a name="enhancements1_2">v1.2</a><center>
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		More implementations of 
		<a href="../javadoc/com/javadocking/drag/painter/DockableDragPainter.html" target="_blank">DockableDragPainter</a> 
		are added, to paint a representation of the dockable, while it is dragged
		(see <a href="../developerguide/drag.html">How to Use Dragging</a>).
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Dockables can be externalized by using an 
		<a href="../javadoc/com/javadocking/visualizer/Externalizer.html" target="_blank">Externalizer</a>
		(see <a href="../developerguide/visualizer.html">How to Use Visualizers (Minimizers, Maximizers, and Externalizers)</a>).
	</td>
</tr>
<tr>
	<td valign="top">
		<center><a name="enhancements1_1">v1.1</a><center>
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Dockables can be maximized or minimized by using a 
		<a href="../javadoc/com/javadocking/visualizer/Visualizer.html" target="_blank">Visualizer</a>
		(see <a href="../developerguide/visualizer.html">How to Use Visualizers (Minimizers, Maximizers, and Externalizers)</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		The components of minimized dockables can be dragged by using a 
		<a href="../javadoc/com/javadocking/visualizer/DockingMinimizer.html" target="_blank">DockingMinimizer</a>.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		A button can move in its tool bar, can be dragged to other tool bars, or can be made floating, 
		by using a <a href="../javadoc/com/javadocking/dockable/ButtonDockable.html" target="_blank">ButtonDockable</a>
		(see <a href="../developerguide/toolbar.html">How to Use Buttons and Tool Bars</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		<a href="../javadoc/com/javadocking/dock/LineDock.html" target="_blank">LineDock</a>s and 
		<a href="../javadoc/com/javadocking/dock/GridDock.html" target="_blank">GridDock</a>s can be used
		to show button dockables.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Tool bars (=line docks with buttons) can be put in 
		<a href="../javadoc/com/javadocking/dock/BorderDock.html" target="_blank">BorderDock</a>s or 
		<a href="../javadoc/com/javadocking/dock/CompositeLineDock.html" target="_blank">CompositeLineDock</a>s.
	</td>
</tr>
<tr>
	<td  valign="top">
		<center><a name="enhancements1_0">v1.0</a><center>
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		All docking information of an application is kept in the 
		<a href="../javadoc/com/javadocking/DockingManager.html" target="_blank">DockingManager</a>.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		<a href="../javadoc/com/javadocking/dockable/Dockable.html" target="_blank">Dockable</a>s can be wrapped around graphical components.
		They add dragging functionality to the components
		(see <a href="../developerguide/dockable.html">How to Use Dockables</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Dockables can have a title, icon, description, docking modes, states, and actions.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Dockables can be organised in <a href="../javadoc/com/javadocking/dock/LeafDock.html" target="_blank">LeafDock</a>s
		(see <a href="../developerguide/leafdock.html">How to Use Leaf Docks</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Special LeafDock implementations: 
		<a href="../javadoc/com/javadocking/dock/SingleDock.html" target="_blank">SingleDock</a>, 
		<a href="../javadoc/com/javadocking/dock/TabDock.html" target="_blank">TabDock</a>, 
		<a href="../javadoc/com/javadocking/dock/LineDock.html" target="_blank">LineDock</a>, and 
		<a href="../javadoc/com/javadocking/dock/GridDock.html" target="_blank">GridDock</a>.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Docks can be organised in <a href="../javadoc/com/javadocking/dock/CompositeDock.html" target="_blank">CompositeDock</a>s
		(see <a href="../developerguide/compositedock.html">How to Use Composite Docks</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Special CompositeDock implementations: 
		<a href="../javadoc/com/javadocking/dock/SplitDock.html" target="_blank">SplitDock</a>, 
		<a href="../javadoc/com/javadocking/dock/BorderDock.html" target="_blank">BorderDock</a>, 
		<a href="../javadoc/com/javadocking/dock/CompositeLineDock.html" target="_blank">CompositeLineDock</a>, and 
		<a href="../javadoc/com/javadocking/dock/CompositeGridDock.html" target="_blank">CompositeGridDock</a>.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Dockables can float by using the 
		<a href="../javadoc/com/javadocking/dock/FloatDock.html" target="_blank">FloatDock</a>
		(see <a href="../developerguide/compositedock.html#FloatDock">How to Use Composite Docks</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		The structure of all docks and dockables is kept in the <a href="../javadoc/com/javadocking/model/DockModel.html" target="_blank">DockModel</a>
		(see <a href="../developerguide/dockmodel.html">How to Use Dock Models</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		A <a href="../javadoc/com/javadocking/model/DockingPath.html" target="_blank">DockingPath</a>
		keeps the information about how a dockable was docked in a dock model
		(see <a href="../developerguide/dockingpath.html">How to Use Docking Paths</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		A <a href="../javadoc/com/javadocking/model/DockingPathModel.html" target="_blank">DockingPathModel</a>
		keeps track of all docking paths in an application.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Information in the dock model and docking path model can be saved with a 
		<a href="../javadoc/com/javadocking/model/DockModelEncoder.html" target="_blank">DockModelEncoder</a>
		and reloaded with a 
		<a href="../javadoc/com/javadocking/model/DockModelDecoder.html" target="_blank">DockModelDecoder</a>
		(see <a href="../developerguide/codec.html">How to Use Dock Model Encoders and Docoders</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Dockables can be added, removed, and moved in docks with the 
		<a href="../javadoc/com/javadocking/DockingExecutor.html" target="_blank">DockingExecutor</a>
		(see <a href="../developerguide/adddockable.html">How to Add, Move, and Remove Dockables</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		A <a href="../javadoc/com/javadocking/event/DockableEvent.html" target="_blank">DockableEvent</a>
		is broadcasted when a dockable is added to a leaf dock.
		A <a href="../javadoc/com/javadocking/event/ChildDockEvent.html" target="_blank">ChildDockEvent</a>
		is broadcasted when a child dock is added to a composite dock.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Dockables can be dragged dynamically or statically. With dynamic dragging the dockable is already docked
		in new docks during dragging. With static dragging the dockable remains in its dock, but the possible
		new position of the dockable is painted in the new dock
		(see <a href="../developerguide/drag.html">How to Use Dragging</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Different painters can be used for showing the dragging
		(see <a href="../developerguide/drag.html">How to Use Dragging</a>).
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Different mouse events can be used for starting, canceling and stopping dragging.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Custom components can be used by the docking framework by providing a new implementation of 
		the <a href="../javadoc/com/javadocking/component/SwComponentFactory.html" target="_blank">SwComponentFactory</a>
		(see <a href="../developerguide/componentfactory.html">How to Use the Component Factory</a>).
	</td>
</tr>
</table>

<h3>
:: Incompatibilities ::  
</h3>
<table cellspacing="0" border="1">
<tr>
	<td width="60"><center><b>Version</b></center></td>
	<td width="60"><center><b>ID</b></center></td>
	<td width="480"><center><b>Description</b></center></td>
</tr>
<tr>
    <td valign="top">
        <center><a name="incompatibilities1_5">v1.5</a><center>
    </td>
    <td>
        &nbsp;
    </td>
    <td>
        In class <a href="../javadoc/com/javadocking/model/saveDockingProperties.html" target="_blank">saveDockingProperties</a>
        the name of method <code>saveProperties</code> is changed to <code>saveDockingProperties</code>.
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
        &nbsp;
    </td>
    <td>
        There can be multiple float docks for one owner window in a dock model.
        Interface methods removed in com.javadocking.model.DockModel:
        <ul>
            <li>public FloatDock getFloatDock(Window owner);</li>
            <li>public String getFloatDockKey(Window owner);</li>
        </ul>
        Interface methods added in com.javadocking.model.DockModel:
        <ul>
            <li>public Set getFloatDockKeys(Window owner);</li>
        </ul>
    </td>
</tr>
<tr>
	<td valign="top">
		<center><a name="incompatibilities1_4">v1.4</a><center>
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		The name of class com.javadocking.dockable.action.DockableStateAction changed to
		com.javadocking.dockable.action.DefaultDockableStateAction. 
		DockableStateAction became an interface!
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Interface method changed in com.javadocking.drag.DragListenerFactory:
		<ul>
			<li>public DragListener createDragListener(Dock dock);</li>
		</ul>
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Interface method changed in com.javadocking.drag.DraggerFactory:
		<ul>
			<li>public Dragger createDragger(Dock dock);</li>
		</ul>
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Constructor changed in com.javadocking.drag.DefaultDragListener:
		<ul>
			<li>public DefaultDragListener(Dock dock)</li>
		</ul>
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Interface method added in com.javadocking.component.SwComponentFactory:
		<ul>
			<li>public SelectableHeader createCompositeTabDockHeader(Dock childDock, int position);</li>
		</ul>
	</td>
</tr>
<tr>
	<td valign="top">
		<center><a name="incompatibilities1_3">v1.3</a><center>
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Boolean property 'realSizeRectangle' added to com.javadocking.dock.LineDock and com.javadocking.dock.CompositeLineDock.
		This property decides how docking rectangles are painted in line docks.
		The default value of this property is 'true'. If you want the old behaviour it should be set to 'false'.
		For tool bars and minimize bars the property should be 'true', for normal line docks 'false' is better.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Method removed from com.javadocking.DockingUtil:
		<ul>
			<li>public static JPopupMenu createPopupMenu(Dockable dockableOfPopup)</li>
		</ul>
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Method createPopupMenu(Dockable dockable) is removed from the classes:
		<ul>
			<li>com.javadocking.drag.StaticTabDragger</li>
			<li>com.javadocking.drag.DynamicTabDragger</li>
			<li>com.javadocking.drag.StaticSingleDragger</li>
			<li>com.javadocking.drag.StaticDragger</li>
			<li>com.javadocking.drag.DynamicDragger</li>
		</ul>
	</td>
</tr>
<tr>
	<td valign="top">
		<center><a name="incompatibilities1_2">v1.2</a><center>
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		In the interface com.javadocking.drag.painter.DockableDragPainter:
		<ul>
			<li>Additional paramater for method: public void paintDockableDrag(Dockable dockable, Dock dock, Rectangle rectangle, Point mouseLocation);</li>
		</ul>
	</td>
</tr>
<tr>
	<td valign="top">
		<center><a name="incompatibilities1_1">v1.1</a><center>
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		The interface com.javadocking.Dockable:
		<ul>
			<li>New method: getVisualizer()</li>
			<li>Additional paramater (visualizer) for method: setState(int newState, Object visualizer)</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Methods removed from com.javadocking.util.DockingUtil because they where useless:
		<ul>
			<li>public static boolean contains(DockModel dockModel, Dockable dockable)</li>
			<li>public static Dock searchDock(DockModel dockModel, Dockable dockable)</li>
		</ul>
		DockModel is removed as parameter from the methods. This parameter is useless, because the
		dock model of the docking manager is used:
		<ul>
			<li>public static String getFloatRootDockKey(DockModel dockModel, Window owner)</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Methods removed from com.javadocking.DockingExecutor:
		<ul>
			<li>public boolean addDockable(Dock rootDock, Dockable dockable)</li>
			<li>public boolean addDockable(Dock dock, Dockable dockable, Point relativeLocation, Point dockableOffset)</li>
			<li>public boolean addDockable(DockingPath dockingPath, Dockable dockable)</li>
			<li>public void addDockable(LeafDock dock, Dockable dockable, Position position)</li>
			<li>ppublic boolean removeDockable(Dockable dockable)</li>
		</ul>
		The functionality of these methos is combined in the new methods of com.javadocking.DockingExecutor:
		<ul>
			<li>public boolean changeDocking(Dockable dockable, Dock rootDock)</li>
			<li>public boolean changeDocking(Dockable dockable, Dock destinationDock, Point relativeLocation, Point dockableOffset)</li>
			<li>public boolean changeDocking(Dockable dockable, DockingPath dockingPath)</li>
			<li>public boolean changeDocking(Dockable dockable, LeafDock destinationDock, Position position)</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		In com.javadocking.model.DefaultDockingPath.createDockingPath parameter DockModel is removed, because the dock model
		of the docking manager is used:	
		<ul>
			<li>public static DefaultDockingPath createDockingPath(Dockable dockable)</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		In com.javadocking.model.DockModelDecoder:	
		<ul>
			<li>The docking path is always decoded and given to the docking manager. The interface mehod is removed: public DockModel decode(String sourceName, Map dockables, Map owners, DockingPathModel dockingPathModel) throws IOException;</li>
			<li>Parameter visualizersMap added in method: public DockModel decode(String sourceName, Map dockables, Map owners, Map visualizersMap) throws IOException;</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		In com.javadocking.model.DockModelEncoder the parameter DockingPathModel is useless because the docking path model of the docking manager is used:	
		<ul>
			<li>Interface mehod is removed: public void export(DockModel dockModel, String destinationName) throws IOException, IllegalArgumentException;</li>
			<li>Interface mehod is removed: public void save(DockModel dockModel) throws IOException, IllegalArgumentException;</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		com.javadocking.component.TabDockHeader is renamed to com.javadocking.component.SelectableHeader.
		com.javadocking.component.DefaultTabDockHeader is renamed to com.javadocking.component.SelectableDockableHeader.
		com.javadocking.component.DefaultSingleDockHeader is renamed to com.javadocking.component.SingleDockHeader.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		com.javadocking.dock.Position became immutable:
		<ul>
			<li>Interface mehod is removed: public void setPosition(int dimension, int position);</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Methods from com.javadocking.dock.BorderDock are removed:
		<ul>
			<li>protected Dock getBottomChildDock();</li>
			<li>protected Dock getCenterChildDock();</li>
			<li>protected Dock getLeftChildDock();</li>
			<li>protected Dock getRightChildDock();</li>
			<li>protected Dock getTopChildDock();</li>
		</ul>
		They are replaced by:
		<ul>
			<li>protected Dock getChildDockOfPosition(int position);</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		com.javadocking.dockable.DockingMode.TOOLGRID became com.javadocking.dockable.DockingMode.TOOL_GRID.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Pakage com.javadocking.toolbar is removed.
		See <a href="../developerguide/toolbar.html">How to Use Buttons and Tool Bars</a> for information about the new classes. 
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		Methods are added to the interface com.javadocking.component.SwComponentFactory:
		<ul>
			<li>public Header createMaximizeHeader(Dockable dockable, int position);</li>
			<li>public SelectableHeader createMinimizeHeader(Dockable dockable, int position);</li>
		</ul>
		A method is changed in the interface com.javadocking.component.SwComponentFactory:
		<ul>
			<li>public SelectableHeader createTabDockHeader(Dockable dockable, int position);</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		A com.javadocking.event.DockingEvent has now 2 docks in stead of 1: an origin dock and a destination dock.
		The constructor changed:
		<ul>
			<li>public DockingEvent(Object source, Dock originDock, Dock destinationDock)</li>
		</ul>
		The constructor of com.javadocking.event.DockableEvent changed also:
		<ul>
			<li>public DockableEvent(Object source, Dock originDock, Dock destinationDock, Dockable dockable)</li>
		</ul>
		The constructor of com.javadocking.event.ChildDockEvent changed also:
		<ul>
			<li>public ChildDockEvent(Object source, CompositeDock originDock, CompositeDock destinationDock, Dock childDock)</li>
		</ul>
		The getters of com.javadocking.event.DockingEvent changed:
		<ul>
			<li>public Dock getOriginDock()</li>
			<li>public Dock getDestinationDock()</li>
		</ul>
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		&nbsp;
	</td>
	<td>
		A com.javadocking.event.DockingListener has now 2 methods:
		<ul>
			<li>public void dockingWillChange(DockingEvent dockingEvent);</li>
			<li>public void dockingChanged(DockingEvent dockingEvent);</li>
		</ul>
		in stead of different methods for addition, move or removal:
		<ul>
			<li>public void willBeAdded(DockingEvent dockingEvent);</li>
			<li>public void added(DockingEvent dockingEvent);</li>
			<li>public void willBeMoved(DockingEvent dockingEvent);</li>
			<li>public void moved(DockingEvent dockingEvent);</li>
			<li>public void willBeRemoved(DockingEvent dockingEvent);</li>
			<li>public void removed(DockingEvent dockingEvent);</li>
		</ul>
		The docking event contains the information what kind of docking change happens:
		<ul>
			<li>an addition, if the origin dock is null.</li>
			<li>a move in the same dock, if the origin dock and destination dock are equal.</li>
			<li>a move to a new dock, if the origin dock and destination dock are not null, but different.</li>
			<li>a removal, if the destination dock is null.</li>
		</ul>
	</td>
</tr>
</table>

<h3>
:: Bug Fixes ::  
</h3>
<table cellspacing="0" border="1">
<tr>
	<td width="60"><center><b>Version</b></center></td>
	<td width="60"><center><b>ID</b></center></td>
	<td width="480"><center><b>Description</b></center></td>
</tr>
<tr>
    <td valign="top">
        <center><a name="bugfixes1_5">v1.5</a><center>
    </td>
    <td>
       3384382
    </td>
    <td>
        The property removeLastEmptyChild of SplitDock is not saved in loadProperties() and loaded in loadProperties().
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
       3415354
    </td>
    <td>
        The dockable header sizes are not recalculated after change.
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
       3415352
    </td>
    <td>
        In DockingMinimizer the implementation SelectableDockableHeader is used in stead of the interface SelectableDockableHeader.
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
       3415351
    </td>
    <td>
        Default child positions not loaded in BorderDocker
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
       3415349
    </td>
    <td>
        Only JDialogs possible for floating dockables.
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
       3415346
    </td>
    <td>
        After loading, externalized docks have wrong actions.
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
       3415335
    </td>
    <td>
        The last position of the divider in a SplitDock is not remembered.
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
       3384440
    </td>
    <td>
        There are tabs in the TabDock with empty tooltips.
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
       3384453
    </td>
    <td>
        PropertyChanges of a dockable in TabDock not handled.
    </td>
</tr>
<tr>
    <td valign="top">
        &nbsp;
    </td>
    <td>
       2871525
    </td>
    <td>
        Start the WorkspaceExample, maximize one of the Book dockable, exit the application: ArrayIndexOutOfBoundsException.
    </td>
</tr>
<tr>
	<td valign="top">
		<center><a name="bugfixes1_4">v1.4</a><center>
	</td>
	<td>
		2871525
	</td>
	<td>
		Exception caused by exiting an application with a maximized dockable.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1904631
	</td>
	<td>
		Exception caused by unknown Java version.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1861297
	</td>
	<td>
		Exception caused by GTK or Nimbus LAF.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1982033
	</td>
	<td>
		Removing a docking path from a DefaultDockingPathModel.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		868679
	</td>
	<td>
		Getter for the JTabbedPane of a TabDock.
	</td>
</tr>
<tr>
	<td valign="top">
		<center><a name="bugfixes1_3">v1.3</a><center>
	</td>
	<td>
		1822654
	</td>
	<td>
		Exception caused by negative size in ImageDockableDragPainter.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1774473
	</td>
	<td>
		Forbidden dockable state actions are now disabled.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1787075
	</td>
	<td>
		Dockables had sometimes a wrong state, when a group of dockables was dragged.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1822518
	</td>
	<td>
		Look and Feel of invisible dockables was not adapted, when the look and feel of the application changed.
	</td>
</tr>
<tr>
	<td valign="top">
		<center><a name="bugfixes1_2">v1.2</a><center>
	</td>
	<td>
		1774471
	</td>
	<td>
		Minimizing a dockable, when closed dockable state was forbidden, caused an exception.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1764694
	</td>
	<td>
		Dragged dockables with transparency were black.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1736529
	</td>
	<td>
		No docking change event was fired, when dockable was minimized.
	</td>
</tr>
<tr>
	<td valign="top">
		&nbsp;
	</td>
	<td>
		1734593
	</td>
	<td>
		Dynamic dragging of dockable in float child dock stopped after one docking.
	</td>
</tr>
<tr>
	<td valign="top">
		<center><a name="bugfixes1_1">v1.1</a><center>
	</td>
	<td>
		1721504
	</td>
	<td>
		  There were wrong colors for tabs in windows LaF. 
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		1731618
	</td>
	<td>
		Unncessary cast to ImageIcon in com.javadocking.component.IconButton.
		The icon retrieved from the properties of the action is now casted to javax.swing.Icon.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		1728038
	</td>
	<td>
		Tab components were too big when not selected.
		Selected and unselected tabs have now a different size.
	</td>
</tr>
<tr>
	<td>
		&nbsp;
	</td>
	<td>
		1733594
	</td>
	<td>
		A dockable that is closed is now docked in the right dock after restarting the application.
	</td>
</tr>
</table>


<center><img src="../waveShadow.gif" alt="Sanaware"></center>
</td>
</tr>
</table>

</body>
</html>

